return _gtk_css_value_ref (color->last_value);
case COLOR_TYPE_NAME:
{
- GtkSymbolicColor *symbolic;
+ GtkCssValue *named;
- symbolic = _gtk_style_provider_private_get_color (provider, color->sym_col.name);
-
- if (!symbolic)
+ named = _gtk_style_provider_private_get_color (provider, color->sym_col.name);
+ if (named == NULL)
return NULL;
- value = _gtk_css_color_value_resolve (_gtk_symbolic_color_get_css_value (symbolic), provider, current, current_deps, dependencies);
+ value = _gtk_css_color_value_resolve (named, provider, current, current_deps, dependencies);
}
break;
#include "gtkbitmaskprivate.h"
#include "gtkcssarrayvalueprivate.h"
+#include "gtkcsscolorvalueprivate.h"
#include "gtkcsskeyframesprivate.h"
#include "gtkcssparserprivate.h"
#include "gtkcsssectionprivate.h"
#include "gtkcssselectorprivate.h"
#include "gtkcssshorthandpropertyprivate.h"
#include "gtkcssstylefuncsprivate.h"
-#include "gtksymboliccolor.h"
#include "gtkstyleprovider.h"
#include "gtkstylecontextprivate.h"
#include "gtkstylepropertiesprivate.h"
priv->symbolic_colors = g_hash_table_new_full (g_str_hash, g_str_equal,
(GDestroyNotify) g_free,
- (GDestroyNotify) gtk_symbolic_color_unref);
+ (GDestroyNotify) _gtk_css_value_unref);
priv->keyframes = g_hash_table_new_full (g_str_hash, g_str_equal,
(GDestroyNotify) g_free,
(GDestroyNotify) _gtk_css_value_unref);
iface->get_style_property = gtk_css_provider_get_style_property;
}
-static GtkSymbolicColor *
+static GtkCssValue *
gtk_css_style_provider_get_color (GtkStyleProviderPrivate *provider,
const char *name)
{
static gboolean
parse_color_definition (GtkCssScanner *scanner)
{
- GtkSymbolicColor *symbolic;
+ GtkCssValue *color;
char *name;
gtk_css_scanner_push_section (scanner, GTK_CSS_SECTION_COLOR_DEFINITION);
return TRUE;
}
- symbolic = _gtk_css_symbolic_value_new (scanner->parser);
- if (symbolic == NULL)
+ color = _gtk_css_color_value_parse (scanner->parser);
+ if (color == NULL)
{
g_free (name);
_gtk_css_parser_resync (scanner->parser, TRUE, 0);
if (!_gtk_css_parser_try (scanner->parser, ";", TRUE))
{
g_free (name);
- gtk_symbolic_color_unref (symbolic);
+ _gtk_css_value_unref (color);
gtk_css_provider_error_literal (scanner->provider,
scanner,
GTK_CSS_PROVIDER_ERROR,
return TRUE;
}
- g_hash_table_insert (scanner->provider->priv->symbolic_colors, name, symbolic);
+ g_hash_table_insert (scanner->provider->priv->symbolic_colors, name, color);
gtk_css_scanner_pop_section (scanner, GTK_CSS_SECTION_COLOR_DEFINITION);
return TRUE;
GString *str)
{
GList *keys, *walk;
- char *s;
keys = g_hash_table_get_keys (colors);
/* so the output is identical for identical styles */
for (walk = keys; walk; walk = walk->next)
{
const char *name = walk->data;
- GtkSymbolicColor *symbolic = g_hash_table_lookup (colors, (gpointer) name);
+ GtkCssValue *color = g_hash_table_lookup (colors, (gpointer) name);
g_string_append (str, "@define-color ");
g_string_append (str, name);
g_string_append (str, " ");
- s = gtk_symbolic_color_to_string (symbolic);
- g_string_append (str, s);
- g_free (s);
+ _gtk_css_value_print (color, str);
g_string_append (str, ";\n");
}
iface->get_style_property = gtk_modifier_style_get_style_property;
}
-static GtkSymbolicColor *
+static GtkCssValue *
gtk_modifier_style_provider_get_color (GtkStyleProviderPrivate *provider,
const char *name)
{
#include "gtkprivate.h"
#include "gtkcssproviderprivate.h"
#include "gtkstyleproviderprivate.h"
-#include "gtksymboliccolor.h"
#include "gtktypebuiltins.h"
#include "gtkversion.h"
{
}
-static GtkSymbolicColor *
+static GtkCssValue *
gtk_settings_style_provider_get_color (GtkStyleProviderPrivate *provider,
const char *name)
{
iface->get_style_property = gtk_style_cascade_get_style_property;
}
-static GtkSymbolicColor *
+static GtkCssValue *
gtk_style_cascade_get_color (GtkStyleProviderPrivate *provider,
const char *name)
{
GtkStyleCascade *cascade = GTK_STYLE_CASCADE (provider);
GtkStyleCascadeIter iter;
- GtkSymbolicColor *symbolic;
+ GtkCssValue *color;
GtkStyleProvider *item;
for (item = gtk_style_cascade_iter_init (cascade, &iter);
{
if (GTK_IS_STYLE_PROVIDER_PRIVATE (item))
{
- symbolic = _gtk_style_provider_private_get_color (GTK_STYLE_PROVIDER_PRIVATE (item), name);
- if (symbolic)
- return symbolic;
+ color = _gtk_style_provider_private_get_color (GTK_STYLE_PROVIDER_PRIVATE (item), name);
+ if (color)
+ return color;
}
else
{
else
g_value_init (&pcache->value, GDK_TYPE_COLOR);
- if (_gtk_style_context_resolve_color (context, color, &rgba, NULL))
+ if (_gtk_style_context_resolve_color (context, _gtk_symbolic_color_get_css_value (color), &rgba, NULL))
{
if (G_PARAM_SPEC_VALUE_TYPE (pspec) == GDK_TYPE_RGBA)
g_value_set_boxed (&pcache->value, &rgba);
gboolean
_gtk_style_context_resolve_color (GtkStyleContext *context,
- GtkSymbolicColor *color,
+ GtkCssValue *color,
GdkRGBA *result,
GtkCssDependencies *dependencies)
{
g_return_val_if_fail (color != NULL, FALSE);
g_return_val_if_fail (result != NULL, FALSE);
- val = _gtk_css_color_value_resolve (_gtk_symbolic_color_get_css_value (color),
+ val = _gtk_css_color_value_resolve (color,
GTK_STYLE_PROVIDER_PRIVATE (context->priv->cascade),
_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR),
GTK_CSS_DEPENDS_ON_COLOR,
const gchar *color_name,
GdkRGBA *color)
{
- GtkSymbolicColor *sym_color;
+ GtkCssValue *value;
g_return_val_if_fail (GTK_IS_STYLE_CONTEXT (context), FALSE);
g_return_val_if_fail (color_name != NULL, FALSE);
g_return_val_if_fail (color != NULL, FALSE);
- sym_color = _gtk_style_provider_private_get_color (GTK_STYLE_PROVIDER_PRIVATE (context->priv->cascade), color_name);
- if (sym_color == NULL)
+ value = _gtk_style_provider_private_get_color (GTK_STYLE_PROVIDER_PRIVATE (context->priv->cascade), color_name);
+ if (value == NULL)
return FALSE;
- return _gtk_style_context_resolve_color (context, sym_color, color, NULL);
+ return _gtk_style_context_resolve_color (context, value, color, NULL);
}
/**
#include "gtkstylecontext.h"
#include "gtkstyleproviderprivate.h"
-#include "gtksymboliccolor.h"
#include "gtkbitmaskprivate.h"
#include "gtkcssvalueprivate.h"
gboolean _gtk_style_context_check_region_name (const gchar *str);
gboolean _gtk_style_context_resolve_color (GtkStyleContext *context,
- GtkSymbolicColor *color,
+ GtkCssValue *color,
GdkRGBA *result,
GtkCssDependencies *dependencies);
void _gtk_style_context_get_cursor_color (GtkStyleContext *context,
{
}
-static GtkSymbolicColor *
+static GtkCssValue *
gtk_style_properties_provider_get_color (GtkStyleProviderPrivate *provider,
const char *name)
{
- return gtk_style_properties_lookup_color (GTK_STYLE_PROPERTIES (provider), name);
+ return _gtk_symbolic_color_get_css_value (gtk_style_properties_lookup_color (GTK_STYLE_PROPERTIES (provider), name));
}
static void
}
-GtkSymbolicColor *
+GtkCssValue *
_gtk_style_provider_private_get_color (GtkStyleProviderPrivate *provider,
const char *name)
{
#include "gtk/gtkcsskeyframesprivate.h"
#include "gtk/gtkcsslookupprivate.h"
#include "gtk/gtkcssmatcherprivate.h"
-#include <gtk/gtkenums.h>
-#include <gtk/gtksymboliccolor.h>
+#include "gtk/gtkcssvalueprivate.h"
#include <gtk/gtktypes.h>
G_BEGIN_DECLS
{
GTypeInterface g_iface;
- GtkSymbolicColor * (* get_color) (GtkStyleProviderPrivate *provider,
+ GtkCssValue * (* get_color) (GtkStyleProviderPrivate *provider,
const char *name);
GtkCssKeyframes * (* get_keyframes) (GtkStyleProviderPrivate *provider,
const char *name);
GType _gtk_style_provider_private_get_type (void) G_GNUC_CONST;
-GtkSymbolicColor * _gtk_style_provider_private_get_color (GtkStyleProviderPrivate *provider,
+GtkCssValue * _gtk_style_provider_private_get_color (GtkStyleProviderPrivate *provider,
const char *name);
GtkCssKeyframes * _gtk_style_provider_private_get_keyframes(GtkStyleProviderPrivate *provider,
const char *name);